Home
last modified time | relevance | path

Searched hist:"5271953 cad31b97dea80f848c16e96ad66401199" (Results 1 – 4 of 4) sorted by path

/linux/include/uapi/linux/
H A Dudp.hdiff 5271953cad31b97dea80f848c16e96ad66401199 Thu Oct 04 12:10:51 CEST 2018 David Howells <dhowells@redhat.com> rxrpc: Use the UDP encap_rcv hook

Use the UDP encap_rcv hook to cut the bit out of the rxrpc packet reception
in which a packet is placed onto the UDP receive queue and then immediately
removed again by rxrpc. Going via the queue in this manner seems like it
should be unnecessary.

This does, however, require the invention of a value to place in encap_type
as that's one of the conditions to switch packets out to the encap_rcv
hook. Possibly the value doesn't actually matter for anything other than
sockopts on the UDP socket, which aren't accessible outside of rxrpc
anyway.

This seems to cut a bit of time out of the time elapsed between each
sk_buff being timestamped and turning up in rxrpc (the final number in the
following trace excerpts). I measured this by making the rxrpc_rx_packet
trace point print the time elapsed between the skb being timestamped and
the current time (in ns), e.g.:

... 424.278721: rxrpc_rx_packet: ... ACK 25026

So doing a 512MiB DIO read from my test server, with an unmodified kernel:

N min max sum mean stddev
27605 2626 7581 7.83992e+07 2840.04 181.029

and with the patch applied:

N min max sum mean stddev
27547 1895 12165 6.77461e+07 2459.29 255.02

Signed-off-by: David Howells <dhowells@redhat.com>
/linux/net/rxrpc/
H A Dar-internal.hdiff 5271953cad31b97dea80f848c16e96ad66401199 Thu Oct 04 12:10:51 CEST 2018 David Howells <dhowells@redhat.com> rxrpc: Use the UDP encap_rcv hook

Use the UDP encap_rcv hook to cut the bit out of the rxrpc packet reception
in which a packet is placed onto the UDP receive queue and then immediately
removed again by rxrpc. Going via the queue in this manner seems like it
should be unnecessary.

This does, however, require the invention of a value to place in encap_type
as that's one of the conditions to switch packets out to the encap_rcv
hook. Possibly the value doesn't actually matter for anything other than
sockopts on the UDP socket, which aren't accessible outside of rxrpc
anyway.

This seems to cut a bit of time out of the time elapsed between each
sk_buff being timestamped and turning up in rxrpc (the final number in the
following trace excerpts). I measured this by making the rxrpc_rx_packet
trace point print the time elapsed between the skb being timestamped and
the current time (in ns), e.g.:

... 424.278721: rxrpc_rx_packet: ... ACK 25026

So doing a 512MiB DIO read from my test server, with an unmodified kernel:

N min max sum mean stddev
27605 2626 7581 7.83992e+07 2840.04 181.029

and with the patch applied:

N min max sum mean stddev
27547 1895 12165 6.77461e+07 2459.29 255.02

Signed-off-by: David Howells <dhowells@redhat.com>
H A Dinput.cdiff 5271953cad31b97dea80f848c16e96ad66401199 Thu Oct 04 12:10:51 CEST 2018 David Howells <dhowells@redhat.com> rxrpc: Use the UDP encap_rcv hook

Use the UDP encap_rcv hook to cut the bit out of the rxrpc packet reception
in which a packet is placed onto the UDP receive queue and then immediately
removed again by rxrpc. Going via the queue in this manner seems like it
should be unnecessary.

This does, however, require the invention of a value to place in encap_type
as that's one of the conditions to switch packets out to the encap_rcv
hook. Possibly the value doesn't actually matter for anything other than
sockopts on the UDP socket, which aren't accessible outside of rxrpc
anyway.

This seems to cut a bit of time out of the time elapsed between each
sk_buff being timestamped and turning up in rxrpc (the final number in the
following trace excerpts). I measured this by making the rxrpc_rx_packet
trace point print the time elapsed between the skb being timestamped and
the current time (in ns), e.g.:

... 424.278721: rxrpc_rx_packet: ... ACK 25026

So doing a 512MiB DIO read from my test server, with an unmodified kernel:

N min max sum mean stddev
27605 2626 7581 7.83992e+07 2840.04 181.029

and with the patch applied:

N min max sum mean stddev
27547 1895 12165 6.77461e+07 2459.29 255.02

Signed-off-by: David Howells <dhowells@redhat.com>
H A Dlocal_object.cdiff 5271953cad31b97dea80f848c16e96ad66401199 Thu Oct 04 12:10:51 CEST 2018 David Howells <dhowells@redhat.com> rxrpc: Use the UDP encap_rcv hook

Use the UDP encap_rcv hook to cut the bit out of the rxrpc packet reception
in which a packet is placed onto the UDP receive queue and then immediately
removed again by rxrpc. Going via the queue in this manner seems like it
should be unnecessary.

This does, however, require the invention of a value to place in encap_type
as that's one of the conditions to switch packets out to the encap_rcv
hook. Possibly the value doesn't actually matter for anything other than
sockopts on the UDP socket, which aren't accessible outside of rxrpc
anyway.

This seems to cut a bit of time out of the time elapsed between each
sk_buff being timestamped and turning up in rxrpc (the final number in the
following trace excerpts). I measured this by making the rxrpc_rx_packet
trace point print the time elapsed between the skb being timestamped and
the current time (in ns), e.g.:

... 424.278721: rxrpc_rx_packet: ... ACK 25026

So doing a 512MiB DIO read from my test server, with an unmodified kernel:

N min max sum mean stddev
27605 2626 7581 7.83992e+07 2840.04 181.029

and with the patch applied:

N min max sum mean stddev
27547 1895 12165 6.77461e+07 2459.29 255.02

Signed-off-by: David Howells <dhowells@redhat.com>